#ifndef SETWIDGET_H
#define SETWIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QFile>
#include <QDebug>
#include <QFileDialog>
#include <QCameraInfo>
#include <QList>
#include <QComboBox>
#include <QMessageBox>
#include "model/configuremodel.h"
#include <QDir>
#include <QFileInfoList>
#include "view/mainwidget.h"
#include <QCloseEvent>

class SetWidget : public QWidget
{
    Q_OBJECT
public:
    SetWidget(QWidget *parent = nullptr);
    ~SetWidget();

    void init_window();
    void init_control();    //控件初始化
    void init_connect();    //链接初始化
    void init_qss();        //样式初始化

    // 递归计算文件夹大小的函数
    qint64 calculateFolderSize(const QString &folderPath);

private:
    QLabel *title, *equipment, *setSize, *restSize, *videopath, *imgpath;
    QLineEdit *setSizeEdit, *restSizeEdit, *videopathEdit, *imgpathEdit;
    QPushButton *enterBtn, *backBtn, *videopathChooseBtn, *imgpathChooseBtn;
    QComboBox *equipBox;
    QFileDialog *folderPath;

    //计算剩余空间大小
    double restsizeByte;
    //主界面
    MainWidget * mainwidget;

//公共槽函数
public slots:
    void chooseVideoPath();
    void chooseImagePath();
    //设置摄像头设备
//    void chooseEquip();
    void doSet();
    //接收主界面信号后显示自己的槽函数
    void showSet();

    //表单清空
    void clearForm();


    // QWidget interface
protected:
    void closeEvent(QCloseEvent *event);
};

#endif // SETWIDGET_H
